Multiple Keystrokes/Combined Keystrokes
Axis Programming (Rotaries, thumb
wheels etc.)
Welcome to the manual for the
latest version of our programming software, Saitek Smart Technology (SST).
Following comments and feedback from our customers we have made many
changes to the software from previous versions and hope that you now find it
much easier to use; we also hope that as newer versions are released that you
find it becomes more powerful too.
As with previous versions of
the programming software it must be pointed out that this software is not needed
to make your controller work in the game – that is usually performed by enabling
joystick control from within the game itself. The SST software is used to configure the buttons
etc. on your controller to perform different actions within your games.
Most modern games do have their
own control configuration screens which perform the same task but some do not
and this was one of the reasons for our creating the programming software originally.
The other reason for using the SST software is that you can increase
the number of commands that can be assigned to your joystick due to shift states
(Cyborg USB and X36/X45) and multiple modes (X36/X45); these will be explained
later in the manual. Before we cover those more advanced features
however, we have to show you how to start programming your Saitek controller.
Having installed the SST software
and plugged in your controller you should have a small black joystick icon in
the taskbar next to your clock. It should
look something like this.
Right-click on the joystick
icon and you should get a pop-up menu like this.
Clear Profile is used whenever
you want to completely clear a profile from your controller. Clicking Control Panel will bring up the test
and calibration screens for your controller but for now we want to click Profile
Editor. This will present you with the
following screen (note that we are using the Cyborg stick in this example but
the procedure for programming the Cyborg Force, X36 and X45 are exactly the
same. The only difference is the number
of buttons and, in the X36 and X45’s cases, the number of modes).
This can also be run by double-clicking the Saitek Smart Technology Programming
Software link that is on your desktop or by clicking Start>Programs>Saitek>Profiler.
Just a quick note here for
any customers who have more than one controller (a Cyborg and an X36, for example)
and have them both plugged in, you will have a separate icon for each controller
– if you hold you mouse pointer over the small joystick icon you will get a
small pop-up notice which tells you which controller the icon refers to.
Those of you familiar with
the original SGE programming software will recognise the 3D model of your controller.
The major change to the programming software though is the list of buttons
down the right hand side of the screen. If
you press one of the buttons on your controller now you will see that it lights
up on the 3D model and that the appropriate line in the list of buttons is “highlighted”
by a slightly darker background – this makes it easy to know exactly which button
you are programming. This called the
3D View – there is another view you can use and this is outlined further on
in the manual.
Every game you have already
has most of the in-game commands assigned to various buttons or combination
of buttons on the keyboard. For those
of you unfamiliar with how this process works, what we are going to do is make
the buttons on your controller “pretend” to be buttons on the keyboard.
To program a keyboard command
to a button is very easy. On the right
side of the window in the list of buttons, simply click on the space just beneath
the name of the button you wish to program (the mouse cursor will change shape
to indicate that you can click it) – in the example below we have clicked on
the space just beneath the trigger.
Having covered the basic types
of keystroke we need to introduce another type of keystroke command – a macro.
A macro is a sequence of keystrokes that can be executed with the single
press of a button. At first glance you might think that this is
exactly the same as the multiple keystrokes, as assigned to the Fire B button
in the above example, however this is not the case.
Before we carry on, let’s just
take a minute to examine this drop-down menu. As you can see, we have a number of possible
choices. The first is New Key Presses
– clicking this would enable you to input keystrokes for a new command, just
like we have been doing in the above examples.
As you can see, this looks
similar to the Macro Editor. Each window
represents a different state of the button you are assigning the Advanced Command
to. Any keystrokes in the Press column
will happen when you press the button the command is assigned to. If you have multiple keystrokes you will need
to keep the button held down until the commands have happened – this is exactly
the way that normal multiple keystrokes work (i.e. this doesn’t function like
a macro).
Any keystrokes that are in
the repeat column will happen as long as you keep the button they are assigned
to held down – again, these will only operate as normal multiple keystrokes.
Any commands in the release
column will happen as soon as you release the button the Advanced Command is
assigned to. The difference with the
repeat column though is that any multiple keystrokes will act like a macro.
You will notice that unlike
the other keystroke input windows each key, when pressed, places two instances
of the key in the command input window – like below.
This is because when you press
a key on a keyboard it actually produced two signals – one when you press it
and another when you let go. In the above
example you can see that the T and H keys were held down for 0.10 of a second.
Just like in the Macro Recorder, the numbers underneath the keystrokes
represent the time in seconds from when you pressed the first key in the sequence;
in the Advanced Editor though you can adjust these timings.
Simply point the mouse cursor at the time you wish to adjust and you
will notice that the cursor changes to a clock with two arrows either side of
it. Now click and hold down the left mouse button
and drag the mouse right to increase the time or left to decrease. Once you are happy with the timing just let
go of the mouse button and the new timing will be saved.
You can see that there is an
option at the top that isn’t present on other buttons – the Shift Button option.
If you click that then you can see that the programming software now
reports that the shift button is acting as a shift button.
From here you have two choices
of method to assign commands to your buttons in a shift state. At the top of the Profile Editor window you
will see that there is a white bar that says Shiftstate next to it. In the bar should be the word, Unshifted.
If you click that bar you can see that there are two other options –
Left Shift and Right Shift. Click the left shift option and you will now
be looking at the list of commands for the buttons when you have the left shift
button held down.
You can see that the commands
we created in the unshifted mode are carried over into this mode too – the little
arrow in the box at the bottom left corner of each command line indicates this.
You can now assign the commands you wish to the different buttons, exactly
as you have been doing already. You will
notice that when you enter a new keystroke onto a button the little arrow in
the box disappears indicating that this command only happens in this shift mode
and isn’t carried over from the unshifted mode.
In the picture below you can see that we have put a B keystroke onto
the trigger and that arrow is no longer there.
Now when we press the shift button on the stick when in the game, the
trigger will give us a B keystroke rather than the space bar command that it
does in the unshifted mode.
You can also assign a third
set of commands to each button if you enable the right shift button as a shift
button.
This enables you to see what
commands you have assigned to each button in all modes. You can also input keystrokes, macros etc. in
this view, exactly as you did in the 3D view.
And adjusting that will simply
change the speed that the mouse cursor will move at when you push the POV in
the appropriate direction, slow being to the left of the scale and fast being
to the right.
It’s then simply a case of
programming each position of the hat with the keystroke, macro or advanced command
that you wish to assign, in the same manner that you program the buttons.
It should be noted that the centre position of the POV hat should generally
be left unprogrammed otherwise the POV will continually issue any command that
you have assigned to it when the POV is at rest in its centre position.
Now simply click on each of
the press instances of the keys in the Press row (in the above example these
are the W with the 0.00 underneath, the A with the 0.30 underneath etc.) and
then right-click on them and click Delete from the drop down list of options. Delete all the key presses from the Release
row in that window too and you should end up with something like this:
Before you click OK to finish
make sure that you right-click on the keys in the Press row, point to Quantize
time and then select 0.00. This will
have the effect that when you let go of the POV and it returns to its centre
position it will issue a “release command” for those keys making sure that the
programming thinks that those keys have been “let go”.
Ultimately it should end up
looking something like the following (this is how a GM2 hat switch looks like
when configured for a first person shooter game)
Hopefully this should prevent
you from having too many problems with programming the hat switch.
Your mouse cursor will change
so that it looks like a horizontal line with a vertical, double-headed arrow
running through it – don’t click anything
yet! The red line in the window represents
the current position of the axis that you are programming.
In this case it is the rotary 1 on the X45 and if you move that axis
on the actual controller it will change the position of the red line.
What we are going to do is split the axis up into banded areas so that
we can then assign keyboard commands to those areas.
We could also have done this
by actually physically moving the axis to that point (so that the red line was
at that point) and then clicked the left icon just underneath where it says
Rotary 1= Bands. We should also now create
a second split and then click the middle icon which spaces the areas out evenly.
You can then click the green tick to set those split positions in place.
This leaves you with something like this.
You can then program keystrokes,
macros or advanced commands to the areas just like any button on the controller
and using our ‘A’ and ‘B’ example above we get the following.
You might wonder why we didn’t
just create one split so that the area was split in half and then just assign
the keystrokes to the two areas? It’s
simply because you need a position where the axis is “at rest” and isn’t issuing
any keyboard commands – you will notice that no commands are assigned to the
middle position of the area in the above example. No matter which controller you have or which
axis you are programming, you must always have a band over the middle of the
axis movement with no command assigned to it.
You can also program an axis to emulate the movements of the mouse cursor if
you wish. To do this simply right click the axis you want to become a mouse
movement and you will get the following menu:
and then click Save. Just as when saving a document in your word
processor your computer will then ask you where you wish to save the profile
and what you wish to call it. Do not
change the location of the profile – it must be saved in the directory that
is already in the save window. The name
of the profile should ideally be the name of the game that you are making this
profile for. Once you have done that click Save to save the profile.
If you then click your profile
you will notice that the little joystick icon now has a green square behind
it, indicating that a profile has been loaded into the controller.
Once you have activated the
profile you can obviously test it. A
good way to do this is to open up Wordpad in Windows – when you then press the
buttons on your controller the assigned keystrokes will appear in Wordpad. Note, that this will only work with basic keys
that you would normally type into a word processor i.e. letters, numbers and
punctuation. The function keys (F1, F2
etc.) shift, alt and ctrl keys obviously won’t print anything in a word processor
either. We will be including a profile
tester in a later release of the programming software so that you can test ALL
keystrokes that you input into your profiles.
The X36 and X45 flight controllers contain several unique features that are nonetheless programmable using the same principles as functions on the Cyborg.
The mode switch simply allows you to program all the other functions of the controller so that they can do something different depending on which mode the switch is in. This is easily programmed using the Data view for the Profile Editor, as described earlier in the manual. Once in the Data view you will see that each button/POV/axis has a keystroke entry box for Mode 1, Mode 1 +Pinkie, Mode 2, Mode 2 + Pinkie, Mode 3 and Mode 3 + Pinkie.
The pinkie switch is the X36/X45's shift button and has to be set to work as a shift button before those "+Pinkie" commands are usable.
The rotaries are an axis and are programmable in the manner dsescribed in the axis programming section of the manual.
The Aux switch is just a series of three buttons in a row, programmable in the exact same way as any other button on the controller. There are a couple of notes to remember though when it comes to assigning commands onto the Aux switch positions. Firstly, any command assigned to an Aux position will be "played" continually as long as the Aux switch remains in that position. This will complicate matters even more if that command in any way involves the Ctrl, Alt or Shift keys on the keyboard. This is because if you have an Aux position continually issuing a command with a Ctrl key in it then it will modify any other keypress output by any other button on the controller which will mean that you get all kinds of unintended commands happening. The best practice is to leave the middle position of the Aux switch free of any command and to then assign commands to the other positions. When you move the switch to initiate those commands always ensure that you return the switch to the middle position so that the Aux switch is "at rest".
The new pads have several features that should be noted especially in light of the number of console users (Playstation 2, X Box and Gamecube) picking up these pads for use in first person shooter games like Medal Of Honor, 007 Nightfire and Unreal Tournament 2003. On consoles the sticks on the pads are used for movement and looking around however most PC games of this type don't include support for game controllers at all or, if they do then it's fairly basic. With the SST software you can of course set up the sticks with the equivalent keyboard and mouse commands from these games in order to get them working like they do on the consoles. How to do this is all covered in the Axis Programming section of the manual or you can find profiles for these games in the profile download section for your pad on out website. As these type of games typically use the same keys for movement (W, S, A and D) then even if there isn't a profile for your particular game up there then you can download another one and then adapt if for use with your game using the Profile Editor.
The pads do feature a button that is unique to them entirely and this is the red Smart button that you have just next to button number 2. This button can have three functions; the first is for it to just be programmed as a normal button; the second is for it to become a shift button like that on the Cyborg so that you can then assign a second command to the other buttons for a shifted mode; and the third is to set it as a Smart Button.
If set as a Smart button then you can program in keystroke sequences to the other buttons on the pad "on the fly" without having to use the profile editor. The process for doing this is simple. Open up the Profile Editor and right click on the Smart Button entry in the list of buttons. Choose Smart button from the drop-down list of options and then save the profile (call it what you want to) and load it into the pad.
Now to program a keystroke (or set of keystrokes) "on the fly" simply press the Smart button on your pad, press the button you want to assign the keystroke(s) to and then press the key(s) on the keyboard. To save this, press the Smart button on the pad again. You should now have those keystroke(s) happening when you press the button you programmed. This can be done in-game, in Windows... wherever you like.
The PC Dash 2/P8000 has nothing especially unique - it has a shift button, a POV switch and all the rest of the buttons on it are programmable in the same way as buttons on the Cyborg. However, the Dash 2 does have an "unlabelled" second shift button, or rather one of the buttons can be configured to be a second shift button, therefore enabling another set of commands to be assigned to the rest of the features on the Dash if you wish. The button that can be set as a shift button is the one in the bottom left corner of the face of the Dash, E1.
That concludes the manual for
the current version of our SST software. If
you have any queries then please contact your local support representative
or feel free to discuss it on our online forum.